home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / ncurses-5.3 / ncurses / tinfo / init_keytry.c < prev    next >
Encoding:
C/C++ Source or Header  |  2002-10-27  |  3.2 KB  |  81 lines

  1. /****************************************************************************
  2.  * Copyright (c) 1999,2000 Free Software Foundation, Inc.                   *
  3.  *                                                                          *
  4.  * Permission is hereby granted, free of charge, to any person obtaining a  *
  5.  * copy of this software and associated documentation files (the            *
  6.  * "Software"), to deal in the Software without restriction, including      *
  7.  * without limitation the rights to use, copy, modify, merge, publish,      *
  8.  * distribute, distribute with modifications, sublicense, and/or sell       *
  9.  * copies of the Software, and to permit persons to whom the Software is    *
  10.  * furnished to do so, subject to the following conditions:                 *
  11.  *                                                                          *
  12.  * The above copyright notice and this permission notice shall be included  *
  13.  * in all copies or substantial portions of the Software.                   *
  14.  *                                                                          *
  15.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
  16.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
  17.  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
  18.  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
  19.  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
  20.  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
  21.  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
  22.  *                                                                          *
  23.  * Except as contained in this notice, the name(s) of the above copyright   *
  24.  * holders shall not be used in advertising or otherwise to promote the     *
  25.  * sale, use or other dealings in this Software without prior written       *
  26.  * authorization.                                                           *
  27.  ****************************************************************************/
  28.  
  29. #include <curses.priv.h>
  30.  
  31. #include <term.h>        /* keypad_xmit, keypad_local, meta_on, meta_off */
  32.             /* cursor_visible,cursor_normal,cursor_invisible */
  33. #include <tic.h>        /* struct tinfo_fkeys */
  34.  
  35. MODULE_ID("$Id: init_keytry.c,v 1.5 2000/12/10 02:55:07 tom Exp $")
  36.  
  37. /*
  38. **      _nc_init_keytry()
  39. **
  40. **      Construct the try for the current terminal's keypad keys.
  41. **
  42. */
  43.  
  44. #if    BROKEN_LINKER
  45. #undef    _nc_tinfo_fkeys
  46. #endif
  47.  
  48. /* LINT_PREPRO
  49. #if 0*/
  50. #include <init_keytry.h>
  51. /* LINT_PREPRO
  52. #endif*/
  53.  
  54. #if    BROKEN_LINKER
  55. struct tinfo_fkeys *
  56. _nc_tinfo_fkeysf(void)
  57. {
  58.     return _nc_tinfo_fkeys;
  59. }
  60. #endif
  61.  
  62. NCURSES_EXPORT(void)
  63. _nc_init_keytry(void)
  64. {
  65.     size_t n;
  66.  
  67.     /* The SP->_keytry value is initialized in newterm(), where the SP
  68.      * structure is created, because we can not tell where keypad() or
  69.      * mouse_activate() (which will call keyok()) are first called.
  70.      */
  71.  
  72.     for (n = 0; _nc_tinfo_fkeys[n].code; n++)
  73.     if (_nc_tinfo_fkeys[n].offset < STRCOUNT)
  74.         _nc_add_to_try(&(SP->_keytry),
  75.                CUR Strings[_nc_tinfo_fkeys[n].offset],
  76.                _nc_tinfo_fkeys[n].code);
  77. #ifdef TRACE
  78.     _nc_trace_tries(SP->_keytry);
  79. #endif
  80. }
  81.